package recursion;

import java.io.File;

/**
 * 需求:输出一个目录下所有的内容
 * String[] list()
 * File[] listFiles()
 */
public class Demo03 {
	public static void main(String[] args) {
		  printDir(new File("day22/美女"));
	}

	/**
	 *
	 * @param dir 参数定义为File类型代表我们将来还可以调用File类中方法来处理这个路径
	 */
	public static void printDir(File dir) {
        //1.获取当前目录下的内容
		File[] files = dir.listFiles();
		//2.遍历files数组,输出文件和文件夹
		for (File f : files) {
			//3.如果当前遍历到的是文件
			if (f.isFile()) {
				System.out.println(f);
			} else {
				System.out.println(f);
				printDir(f); //由于接下的动作是调用listFiles()获取文件夹下的内容,然后遍历这个File[],这个逻辑跟我们printDir(File dir)
				             //方法逻辑重复,所以我们可以利用递归的思想重复调用printDir(File dir)简化代码
			}
		}
	}
}
